var EventRoute = {
	regiditEvent : function(aElement, asEventType, fnHandler){
		if(!fnHandler)fnHandler = EventRoute.doEvent;
//		alert("regiditEvent");
		if(aElement.addEventListener){
			aElement.addEventListener(asEventType,fnHandler,false);
		}else if(aElement.attachEvent){
			aElement.attachEvent('on'+asEventType,fnHandler);
		}else{
			aElement['on'+asEventType] = fnHandler;
		}
	},
	doEvent : function(aEvent){
//		alert("doEvent");
		var oEvent = aEvent || window.event;
		var elTarget = oEvent.target || oEvent.srcElement;
//		alert(elTarget);
//		alert(elTarget.parentNode.tagName);
		while(elTarget.tagName.toLowerCase() != "jiecell")elTarget = elTarget.parentNode;
		var oTarget = elTarget.dataObj;
		var sEventType = oEvent.type;
		var arrListener = oTarget.parentCol.Listeners[sEventType];
//		alert(sEventType+"Processor");
//		alert(arrListener instanceof Array);
		window[sEventType+"Processor"].doEvent.call(this, oTarget, oEvent, arrListener);
	}
}
